This invention relates to software-based telecommunications call center provisioning, management, and supervision.
Organizations with more than trivial needs for customer interaction often use call centers to provide services to their customers and to organize sales personnel. A call center is a central place where an organization (company) handles customer and other calls, usually with some amount of computer automation. Typically, a call center can handle a considerable volume of inbound and outbound calls at the same time, to screen inbound calls, forward them to agents with appropriate skills, and to maintain records of the calls and the call center agents. Call centers have traditionally been used by mail-order catalog companies, telemarketing companies, computer product help desks, and large organizations that use the telephone to sell or service products and services.
With the advent of the information revolution of the 1980""s and 90""s, customer interactions often involve communications through alternative channels, such as facsimile (fax) transmissions, email, and web-based contacts. (We will generically refer to these interactions and the conventional telephone calls as xe2x80x9ce-contacts,xe2x80x9d xe2x80x9ccontacts,xe2x80x9d xe2x80x9cinteractions,xe2x80x9d or simply as xe2x80x9ccalls.xe2x80x9d) The individual agent skills required for a particular customer interaction depend on the nature of the customer""s need and the customer""s identity; the skills generally do not depend on the specific type of e-contact made, be it by telephone, email, fax, or web-based. Therefore, it is desirable call center efficiency and flexibility by allowing the agents to respond to contacts based on agent skills, and without differentiation based on contact type.
Individual handling of interactions is expensive. The expense rises whenever a specific interaction cannot be handled immediately, requiring rerouting and handling by multiple agents. Moreover, customers tend to get frustrated when their contacts are rerouted. It would be advantageous to pre-process received calls to identify the most appropriate agents and to link the call to relevant information available to the agents. To some extent this is already done through the use of Interactive Voice Response (xe2x80x9cIVRxe2x80x9d) systems, but IVR systems tend to irritate customers and, in any event, it would be desirable to pre-process contacts automatically and without regard to the specific contact type or medium.
Because a call center is the focal point of customer interaction for a typical company, its failures damage the company""s good will and often result in immediate loss of sales. It is important for the call center to have high reliability. One way to achieve it is through distributed, fault-tolerant design. By xe2x80x9cfault-tolerant designxe2x80x9d we do not mean a merely xe2x80x9cfail-safe design,xe2x80x9d where the system has built-in redundancy and can restart a failed process or switch to its equivalent and continue operations after a brief interruption. Because even a brief interruption can cause dropped calls, it is preferable to have a seamless transition to the back-up process without dropping calls.
In a competitive environment, a company need not be a xe2x80x9cdot-comxe2x80x9d to require a functional call center within a short time. But provisioning such a center in the modern eclectic telecommunications environment is a labor-intensive, long, and complicated task usually performed xe2x80x9cintegrators.xe2x80x9d It is highly desirable to have the capability to provision call centers quickly and without the massive efforts of trained technicians, engineers, and programmers.
A call center""s need for resources varies with many factors, such as the time of day. For example, some call centers are busiest in the early evening, the time telemarketers believe to bedmost propitious for credit card applications and long-distance telephone service selection. In contrast, call centers for business-related services are busiest during regular business hours. For this reason, it would be advantageous to share call center resources with additional call centers, or even with completely different applications. More particularly, it is desirable to be able to shift resources between applications, starting and stopping the resources seamlessly, without disturbing existing calls and without preventing immediate processing of new calls. Similarly, it is desirable to have dynamic balancing, adding and stopping resources when usage or availability of physical hosts changes.
In fact, any high volume telecommunications environment would benefit from resolution of the needs described above. A typical high volume telecommunications environment may have thousands, even millions, of dedicated lines, often operating inefficiently because each company has dedicated telephone lines and associated hardware, such as PrivateBranch Exchanges (PBXs), Automated Call Distributors (ACDs), IVRs, Fax Servers, Conferencing Bridges, Internet Chat Servers, or Voice Over IP (VOIP) Gateways. The hardware, dedicated lines, and other facilities can be hosted by the service provider or a telephone company. These resources are not shared among the various companies and operate inefficiently as a whole. Shared use is therefore desirable to achieve economies of scale and to allow efficient re-distribution or re-allocation of such resources.
Another desirable feature is flexibility in limiting call center use, so that the call center operator (or licensor) can provide various billing and service packages to the companies.
Accordingly, aspects of the present invention provide technical advantages that solve one or more of the needs listed above.
One aspect of the invention is the capability to create, configure, deploy, and manage a distributed, software-based call center architecture for wide (e.g., global or regional) network of disparate media and communication types with one or more points of cohesive control and configuration in a way that non-programmers can manage the call center network.
Another aspect is the capability to provision multimedia, communication, and server resources as they come on line, without disruption of existing services, with dynamic removal and addition of the resources, so that the network can expand or collapse without service interruption.
A third aspect is the call center network""s capability to adjusts load distribution dynamically, in real time, performing load balancing automatically as the resources stop, are reconfigured, or added.
A fourth aspect is mirroring of some or all processes, servers, and functions, so no single point of failure can disrupt service on the network. Mirroring in combination with load balancing described in the paragraph immediately above achieve redundancy and fault-tolerance across the network, with self-healing properties and soft recovery without major disruptions to the call center.
According to a fifth aspect, certain of the call center resources can be partitioned among two or more companies. Private data, routing rules, libraries, and other attributes of each partition are used to service one company. Partitioning optimizes the use of shared hardware and network shared resources, and preserves customization and private data of each company.
In the sixth aspect, the call center provides the ability to package and bundle network resources for each company, and to track and limit use for each company with a class of service controls. This can be achieved, for example, by limiting the number of simultaneous interactions between a company""s call center and its customers.
The seventh aspect is the ability to reconfigure and expand hardware devices so that they can be dynamically put into service on the call center network without service disruption. The additional hardware can then be host-partitioned and dynamically configured to allocate resources to one or more companies. The hardware devices include, for example, Customer Premises Equipment (CPE) signaling interfaces, network signaling interfaces, voice, fax, data processing, connection, conferencing, and switching devices.
The multimedia call center of this invention may be logically located either between a telephone network and CPE, or between two portions of a telephone network. It accepts incoming calls and extracts in-band network routing and origination information, such as automatic number identification information (ANI) or packet-based network routing information. The call center then uses the extracted information to obtain information relating to the call from its database. Next, the call center places a call to an endpoint agent or service that may be selected based on the extracted information and information obtained from the database. The information may also be forwarded to the endpoint.
The call center""s processes are distributed, running on several hosts of the call center""s network. To optimize the use of hardware and network devices, the resources can be divided into dedicated and shared resources. Sharing of servers, other hardware, and processes achieves optimal economies of scale in the network.
Resource allocation is performed by the Administration Manger interface. A project (a logical company) defines the specific telephone numbers associated with each physical company using Dialed Number Identification Service (DNIS), allowing sharing of the physical trunks among several companies. The administrator of the call center can use the Administration Manager to add, modify, and remove projects on behalf of each company. Because of the distributed design, dynamic load balancing, dynamic resource provisioning and allocation, self-registration of the resources, and host partitioning, project changes and hardware additions can be done while the network is running, without service interruptions.
When a company is created or modified using the Administration Manager, all associated dedicated resources are automatically assigned to that company. Dedicated resources may include the Information Server, ACD Server, Chat Server, Collaboration Server, and the E-Mail Distributor. Shared resources made available to the company include the Stats Server, DB Server, Resource Manager, Unified Mail Server, Host Server, Scheduling Server, and the Call Center. (A listing of shared and dedicated resources appears in tables 2, 3, and 4 in the detailed description of the invention section of this document.) Multiple resources of each type can be added to expand the call center capacity, and each resource can be mirrored for hot back-up.
A particular company""s use of the call center and the center""s associated network can be controlled by limiting access to certain resources and/or limiting the number of simultaneous transactions allowed per company. The number of simultaneous interactions per company can be modified at any time without stopping any resource. These Service Controls are tracked and monitored by the Resource Manager. When service control limits are reached, the Resource Manager will inform the company""s resources to stop processing additional resource requests. After the company""s use of resources recedes below the service control limits, through completion or termination of existing transactions, the Resource Manager allows processing of additional resource requests.